/* Copyright (C) 2005-2013, Unigine Corp. All rights reserved.
 *
 * File:    geometry_base.h
 * Desc:    Base geometry shader
 * Version: 1.04
 * Author:  Alexander Zapryagaev <frustum@unigine.com>
 *
 * This file is part of the Unigine engine (http://unigine.com/).
 *
 * Your use and or redistribution of this software in source and / or
 * binary form, with or without modification, is subject to: (i) your
 * ongoing acceptance of and compliance with the terms and conditions of
 * the Unigine License Agreement; and (ii) your inclusion of this notice
 * in any version of this software that you use or redistribute.
 * A copy of the Unigine License Agreement is available by contacting
 * Unigine Corp. at http://unigine.com/
 */

#ifndef __GEOMETRY_BASE_H__
#define __GEOMETRY_BASE_H__

/******************************************************************************\
*
* OpenGL
*
\******************************************************************************/

#ifdef OPENGL

/*
 */
#include <core/shaders/default/common/common_base.h>

/* geometry out
 */
out float4 s_texcoord_0;
out float4 s_texcoord_1;
out float4 s_texcoord_2;
out float4 s_texcoord_3;
out float4 s_texcoord_4;
out float4 s_texcoord_5;
out float4 s_texcoord_6;
out float4 s_texcoord_7;
out float4 s_texcoord_8;
out float4 s_texcoord_9;
out float4 s_texcoord_10;

/* vertex transformation
 */
float4 getPosition(float4 vertex) {
	return mul4(s_projection,vertex);
}

/******************************************************************************\
*
* Direct3D11
*
\******************************************************************************/

#elif DIRECT3D11

/*
 */
#include <core/shaders/default/common/common_base.h>

/* vertex transformation
 */
float4 getPosition(float4 vertex) {
	return mul4(s_projection,vertex);
}

#endif

#endif /* __GEOMETRY_BASE_H__ */
